/**
 * 数据源选择
 * create by 姚巨磊  2017年3月14日15:20:30
 *
 *
 */
define(["require", "jquery", 'public/app'], function (require, $, app) {

    function dsChooser($container) {
        this._$container = $container;
        this._initLayout();
        this._init();
    }

    dsChooser.prototype = {
        _initLayout: function () {
            $('#graph_dsChooser_layout').layout();
        },
        /**
         * 初始化url地址
         * @private
         */
        _initUrlPath: function () {
            this.urlPaths = {
                dsData: app.urlBuild("/dirms/dev/dataSource/all")
            };
        },

        /**
         * 初始化类
         * @private
         */
        _init: function () {
            this._initUrlPath();
            this._initComponents();
        },

        /**
         * 初始化控件
         * @param readyData
         * @private
         */
        _initComponents: function () {
            this._initDatagrid();
            this._initEventBinding();
        },


        /**
         * 初始化所有表格信息
         * @private
         */
        _initDatagrid: function () {
            var self = this;
            /**
             * 图形集-主表格
             */
            self._$container.find("#graph_dsChooser_ds_datagrid").datagrid({
                rownumbers: true,
                singleSelect: true,
                url: this.urlPaths.dsData,
                method: 'get',
                width: 'auto',
                height: '98%',
                //对应model层字段
                columns: [[
                    {field: 'id', title: "", hidden: true},
                    {field: 'dsName', title: '数据源', width: '80%'}
                ]],
                onSelect: function (index, row) {
                    if (row["params"] && row["params"] != "" && row["params"].length > 0) {
                        var data = eval("(" + row["params"] + ")")["rowdata"];
                        $.grep(data["rows"],function(r,i){
                            data["rows"][i]["dsId"] = row["id"];
                        });
                        self._$container.find("#graph_dsChooser_item_datagrid").datagrid("loadData", data);
                    }
                }
            });
            self._$container.find("#graph_dsChooser_item_datagrid").datagrid({
                rownumbers: true,
                //singleSelect: false,
                width: 'auto',
                height: '98%',
                //对应model层字段
                columns: [[
                    {field: 'dsId', title: "", hidden: true},
                    {field: 'key', title: "", hidden: true},
                    {field: 'remark', title: '数据项', width: '80%'}
                ]]
            });

        }
        ,
        /**
         * 事件绑定
         * @private
         */
        _initEventBinding: function () {
            //【todo 在此编写绑定事件的方法。如按钮需要绑定的click事件。建议按如下格式绑定，并将this作为参数传入】
        }
        ,

        /**
         * 按钮事件
         */
        _actions: {}

    };

    return dsChooser;
})
;